home *** CD-ROM | disk | FTP | other *** search
- Path: aadt.sdt.com!usenet
- From: Larry Baker <leb@sdt.com>
- Newsgroups: comp.lang.c++,comp.lang.c,comp.object,comp.software-eng
- Subject: Re: Portability of code & skills (Beware of "C" Hackers etc)
- Date: Wed, 20 Mar 1996 09:33:18 -0800
- Organization: SABRE Decision Technologies
- Message-ID: <3150415E.6396@sdt.com>
- References: <4ikb6kINN1is@mayne.ugrad.cs.ubc.ca> <DoI5Ao.AyJ@assip.csasyd.oz> <EJH.96Mar19163745@larry.gsfc.nasa.gov>
- NNTP-Posting-Host: parmail
- Mime-Version: 1.0
- Content-Type: text/plain; charset=us-ascii
- Content-Transfer-Encoding: 7bit
- X-Mailer: Mozilla 2.0 (Win16; I)
- CC: larryb
-
- someone wrote:
- > >... So if you want your new language to be a success,
- > > then give it away for ten years, preferably with a free O.S.
- > > and all source code as well. It's difficult to see many
- > > other reasons for widespread adoption of C and Unix.
-
- UNIX was never free. AT&T charged something like $50,000 (don't
- quote me) for a full UNIX source license to corporations in the
- 70's and early 80's, though they may have given it away to
- Universities.
-
- The source license was fairly useless, but it allowed you to
- obtain (legally) a "free" copy of Berkeley 4.x UNIX, which was
- the de facto standard for a long, long time. You were on
- your own if you found bugs in the OS - hence, the need for
- people that could "hack the kernel."
-
- Then AT&T woke up, and the subsequent commercialized versions
- of UNIX (System V derived) became the de facto standard. It's
- worth noting that Sun OS, the first really commercially
- widespread version of UNIX, was based on Berkeley 4.3 UNIX.
-
- From my point of view UNIX was and is a success for simple
- economic reasons. For a few 100k$ a computer maker could
- license an operating system to port to a new computer, and
- voila! new computer out the door. Having UNIX on your (new)
- computer made it easy for 3rd-party software vendors to
- port products to your machine, making it marketable to a
- wide audience.
-
- Remember that before UNIX, there was no commercially available,
- portable, licenseable multi-user OS that could live on vastly
- different computer architectures. (ok, I'm ignoring OS/9, but
- I think it's more of a real-time, niche-oriented OS.)
-
- The same argument holds for the "success" of C. At the time,
- the only other language that "competed" with C for the mainstream,
- popular (PC, workstation) programming population was Pascal,
- compiled BASIC, FORTRAN or PL/M. FORTRAN was the only one
- with a recognizable, widely accepted standard and reasonable
- portability.
-
- C was (and is) reasonably portable, relatively simple, (especially
- the simple K&R based compilers), cheap to implement, and low-level
- enough to appeal to the people having to squeeze the last cycle
- of performance out of early PCs and Workstations.
-
- Low-level performance is not as much of a mainstream priority
- today, but it was in the 70's and 80's. Ever programmed on
- a 4.77 mhz 8-bit 8088 running MS-DOS? Every cycle counts.
- I remember writing assembler code to time the vertical and
- horizontal retrace strobes for a CGA video adapter, simply to
- be able to write text to the display as fast as possible without
- putting "snow" on the screen. And the 8088 was considered a
- whole lot more powerful than the 1.44 mhz 6809 and maximum 48k
- of memory in an Apple ][.
-
- In these days of 100+ mhz, 32-bit and 64-bit CPUs with highly
- optimzied cache memories where you can easily buy for $2000 a machine
- far more powerful than a $500,000 VAX 11/780, it's hard to justify
- the bit-twiddling that was necessary back then.
-
- Ah, the memories. In 1987 I was working on a VAX 11/780 with
- 16 megabytes of memory and a total of something like 700m of
- disk, which was shared by about 30 other engineers. The thing
- filled up a fairly large room. If you ran more than one big
- 'troff' job you could kill the machine for everyone else until
- it finished.
-
- Today, for about $3,700 you can buy a *dual*processor* 133-mhz
- Pentium "PC" with 32 megabytes of "EDO" RAM, 512k bytes of "fast"
- cache memory, a 1G hard SCSI hard disk, and a highly optimized
- graphics adapter, monitor, and an OS.
-
- Don't be too hard on the so-called "C-hackers" who tried to
- squeeze every bit of memory, every cycle of performance out
- of some of these older machines. There was a time when their
- skills were needed. They're simply practicing a skill that
- isn't all that necessary today.
-
- Cheers,
-
- Larry
- leb@sdt.com
-